import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Esta es la clase Fuego que simula un incendio de un barco.
 * @author Miguel Martinez Aguilar
 * @version 06 de Abril del 2013
 */
public class Fuego extends ScrollActor
{   
    // Declaracion de variables de instancia
    private GreenfootSound sonido;// es el sonido de fuego.
    
    /**
     * Este es el constructor de Fuego.
     */
    public Fuego() 
    {
        sonido = new GreenfootSound("fuego.wav");
        sonido.playLoop();
    }
    
    /**
     * Este metodo crea llamas aleatorias.
     */
    public void act() 
    {
        if(contador(3))this.llamaAleatoria(Greenfoot.getRandomNumber(5));
    }
    
    /**
     * Este es el metodo que genera una llama aleatoria.
     * @param num: numero que indica en donde se creara una llama en el escenario.
     */
    public void llamaAleatoria(int num) 
    {
        ScrollWorld mundo = super.getWorld();// este metodo nos permite acceder al mundo
        Llama nuevo = new Llama(Greenfoot.getRandomNumber(3),Greenfoot.getRandomNumber(2) == 0);
        if(num == 0)mundo.addObject(nuevo,this.getGlobalX(),this.getGlobalY());
        if(num == 1)mundo.addObject(nuevo,this.getGlobalX() - 2,this.getGlobalY());
        if(num == 2)mundo.addObject(nuevo,this.getGlobalX() + 2,this.getGlobalY());
        if(num == 3)mundo.addObject(nuevo,this.getGlobalX(),this.getGlobalY() - 1);
        if(num == 4)mundo.addObject(nuevo,this.getGlobalX(),this.getGlobalY() + 1);
    }
    
    /**
     * Este metodo detiene el sonido del fuego
     */
    public void detener() 
    {
        sonido.stop();
    }
}
